[[http://quickdocs.org/cl-kanren/][http://quickdocs.org/badge/cl-kanren.svg]]

* cl-kanren

Cl-kanren  An  implementation of  [[http://minikanren.org][miniKanren]]
wrappend          around         an          implementation         of
[[http://minikanren.org/#microKanrenPaper][microKanren]].

In        short       is        a       library        for       embed
[[https://en.wikipedia.org/wiki/Logic_programming][logic programming]]
in your common lisp software.

** Usage

*** install

Cl-kanren is included in quicklisp so

#+BEGIN_SRC lisp
(ql:quickload "cl-kanren")
#+END_SRC

Actual use  of logic  programming needs some more words than  a reasonably
short README file can accomodate.

My suggestion is to start pointing your browser to

[[http://minikanren.org/][microKanren.org]], there are a lot of resouces there.

*** Difference from the [[https://common-lisp.net/project/cl-kanren-trs/][cl-kanren-trs]]

- there is no conde, it has been replaced by condi;
- == is actually ==-check;


** Credits

cl-kanren         is         an        implementation         of
[[http://en.wikipedia.org/wiki/MiniKanren][miniKanren]],   the  language
discussed in "The Reasoned Schemer"[fn:trsch]

* BUGS

Please file bug report on
the [[https://notabug.org/cage/cl-kanren/issues][issue tracker]]


* License

Copyright © 2016, cage
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.


Some portions of the code uses works (c) 2008, Matthew Swank, with the
original license stated below

Copyright (c) 2008, Matthew Swank
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

* Acknowledgment

Many thanks  to [[https://github.com/jasonhemann][Jason  Hemann]], his
works for Lambda Jam 2014 inspired a few forms in this implementation.


[fn:trsch] "The Reasoned Schemer", Friedman, Byrd and Kiselyov. 2005, MIT Press
